专利摘要:
A method of facilitating modeling of a system includes receiving, at a processor, an extensible markup language (XML) file corresponding to a piping and instrumentation diagram (PID) of the system; identifying, by the processor, components of the system that are described in the XML file, the XML file including information about attributes of the identified components; storing, by the processor, the information about the attributes of the identified components; and generating, by the processor, a simulation model page using syntax of a simulation modeling software environment, based on the stored information about the attributes of the identified components.
公开号:ES2794724A1
申请号:ES201990079
申请日:2018-05-10
公开日:2020-11-18
发明作者:Larry Edwin Nutt;Wayne Marquino
申请人:GE Hitachi Nuclear Energy Americas LLC;
IPC主号:
专利说明:

[0002] Procedure and apparatus to facilitate the creation of a simulation model
[0004] BACKGROUND
[0006] 1. Field
[0008] The subject matter disclosed in this document refers generally to the field of simulation modeling of process plants.
[0010] 2. Description of Related Art
[0012] Simulation models are used to test designs for various types of systems. Simulation models include various components and interconnections between components based on the components and interconnections included in the system being modeled. In some cases, detailed information about the components and interconnections of a system is described in a diagram. An example of such a diagram is a piping and instrumentation diagram (PID or P&ID). A system PID visually represents the components and interconnections of the system. A simulation engineer designing a simulation model of a system can refer to the components and interconnections illustrated in a system PID and enter each of the components and interconnections illustrated in the simulation modeling software to create the simulation model of the system. system.
[0014] SUMMARY
[0016] In accordance with at least some example embodiments, a method of facilitating modeling of a system includes receiving, at a processor, an extensible markup language (XML) file corresponding to a piping and instrumentation diagram (PID) of the system; identify, through the processor, system components that are described in the XML file, including the XML file information about the attributes of the identified components; storing, through the processor, information about the attributes of the identified components; and generating, by the processor, a simulation model page using syntax from a simulation modeling software environment, based on the information stored about the attributes of the identified components.
[0017] The system can be a process plant system.
[0019] The XML file can follow the PID XML ISO 15926 standard.
[0021] The identification may include, for each identified component, identifying, in the XML file, an XML element corresponding to the component.
[0023] The method may further include generating, by the processor, for each identified XML element, a component object data structure corresponding to the identified XML element.
[0025] The procedure may further include for each identified XML element, extracting, by the renderer, attribute information of the identified XML element from the XML file.
[0027] The storage may include for each data structure of the generated component object, storing, as one or more elements of the data structure of the generated component object, the attribute information extracted from the identified XML element to which the data structure of the generated component object.
[0029] The storage may include generating a list of strings that define the identified components, including the list of strings including information based on information about the attributes of the identified components.
[0031] The generation of the simulation model page can include reading from the list of strings, through the processor, attributes of each component defined in the list of strings; create a simulation object for each component defined by the string list, based on the read attributes; and populate the simulation model page with the simulation objects created for the components defined by the string list.
[0033] In accordance with at least some example embodiments, a simulation model generation apparatus includes memory that stores computer executable instructions; and one or more processors configured to execute the computer-executable instructions such that one or more processors are configured to perform operations including, receiving an Extensible Markup Language (XML) file corresponding to a piping and instrumentation diagram (PID) of a system, identify system components that are described in the XML file, including the XML file information about the attributes of the identified components, store the information about the attributes of the identified components and generating a simulation model page using the syntax of a simulation modeling software environment, based on the information stored about the attributes of the identified components.
[0035] The system can be a process plant system.
[0037] The XML file can follow the PID XML ISO 15926 standard.
[0039] The one or more processors may be configured to execute the computer-executable instructions so that the identification includes, for each identified component, identifying, in the XML file, an XML element corresponding to the component.
[0041] The one or more processors may be configured to execute the computer executable instructions such that the one or more processors are configured to generate, for each identified XML element, a component object data structure corresponding to the identified XML element.
[0043] The one or more processors may be configured to execute the computer-executable instructions such that the one or more processors are configured to, for each identified XML element, extract attribute information from the identified XML element from the XML file.
[0045] The one or more processors may be configured to execute the computer-executable instructions such that the storage includes, for each data structure of the generated component object, storing, as one or more elements of the data structure of the generated component object , the attribute information extracted from the identified XML element to which the data structure of the generated component object corresponds.
[0047] The one or more processors may be configured to execute the computer-executable instructions in such a way that the storage includes generating a list of strings that define the identified components, the string list including information based on information about the attributes of the identified components. .
[0048] The one or more processors can be configured to execute the computer-executable instructions so that the generation of the simulation model page includes reading, from the list of strings, attributes of each component defined in the list of strings, creating an object for each component defined by the string list, based on the read attributes, and populate the simulation model page with the simulation objects created for the components defined by the string list.
[0050] BRIEF DESCRIPTION OF THE DRAWINGS
[0052] The various features and advantages of the non-limiting embodiments herein may become more apparent upon review of the detailed description in conjunction with the accompanying drawings. The accompanying drawings are provided for illustrative purposes only and should not be construed to limit the scope of the claims. The accompanying drawings are not to be considered drawn to scale, unless explicitly stated. For clarity purposes, various dimensions of the drawings may have been exaggerated.
[0054] FIG. 1 is a block diagram illustrating an example simulation model generation apparatus according to at least some example embodiments.
[0056] Figure 2 is a flow chart illustrating an example of a simulation model generation procedure.
[0058] Figure 3 illustrates an example of a portion of a piping and instrumentation diagram (PID or P&ID).
[0060] Figure 4 illustrates an element in a portion of an Extensible Markup Language (XML) file corresponding to a PID.
[0062] Figure 5 illustrates a procedure for performing object identification in accordance with at least some example embodiments.
[0064] Figures 6 and 7 are flow charts to illustrate a procedure for generating a simulation model file in accordance with at least some example embodiments.
[0065] FIG. 8 is a flow chart illustrating an example of a simulation model generation procedure.
[0067] DETAILED DESCRIPTION
[0069] In accordance with at least some example embodiments, simulation model generation procedures and apparatus are described herein in terms of design documents, eg, a piping and instrumentation diagram (PID or P&ID), of a process plant and a simulation platform. However, the simulation model that generates procedures and apparatus according to at least some example embodiments can be applied to the development of simulation models of other processes, where the design is documented in terms of objects with predefined attributes, which can be assigning attributes to objects in a simulation platform, because the simulation model that generates procedures and apparatus according to at least some example embodiments includes an object-based design tool and simulation tool.
[0071] It should be understood that when an element or layer is referred to as being "on", "connected to", "coupled to", or "covering" another element or layer, it may be directly on, connected to, coupled to, or covering the another element or layer, or intermediate elements or layers may be present. In contrast, when an element is referred to as "directly over," "directly attached to," or "directly attached to" another element or layer, there are no intermediate elements or layers present. Like numbers refer to like items throughout the specification. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0073] It should be understood that although the terms first, second, third, etc. may be used herein to describe various elements, components, regions, layers and / or sections, these elements, components, regions, layers and / or sections should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer, or section from another element, component, region, layer, or section. Therefore, a first element, component, region, layer, or section discussed below could be referred to as a second element, component, region, layer, or section without departing from the teachings of the example embodiments.
[0074] Spatially relative terms (for example, "below", "below", "lower", "above", "upper", and the like) can be used here to facilitate the description of describing the relationship of one element or characteristic to another. item (s) or feature (s) as illustrated in the figures. It will be understood that the terms spatially relative are intended to encompass different orientations of the device in use or operation in addition to the orientation shown in the figures. For example, if the device in the figures is overturned, the elements described as "below" or "below" other elements or characteristics would be oriented "on top of" the other elements or characteristics. Therefore, the term "below" can encompass both a top and bottom orientation. The device may be oriented in another way (rotated 90 degrees or in other orientations) and the spatially used relative descriptors interpreted herein accordingly.
[0076] The terminology used herein is intended to describe various embodiments only and is not intended to be limiting of the example embodiments. As used herein, the singular forms "a", "an", and "the" are intended to include plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "includes", "including", "comprises", and / or "comprising", when used in this specification, specify the presence of declared characteristics, integers, steps, operations, elements , and / or components, but do not exclude the presence or the sum of one or more different characteristics, integers, stages, operations, elements, components and / or groups thereof.
[0078] Example embodiments are described herein with reference to cross-sectional illustrations that are schematic illustrations of idealized embodiments (and intermediate structures) of example embodiments. As such, variations in the shapes of the illustrations as a result, for example, of manufacturing techniques and / or tolerances, are to be expected. Therefore, the example embodiments should not be construed as limited to the shapes of the regions illustrated herein, but should include deviations in the shapes that result, for example, from manufacture.
[0080] Unless defined otherwise, all terms (including technical and scientific terms) used herein have the same meaning as is commonly understood by one of ordinary skill in the art to which the example embodiments pertain. It will be further understood that terms, including those defined in commonly used dictionaries, should be interpreted as having the meaning that is consistent with their meaning in the context of the relevant art and will not be construed in an idealized or overly formal sense unless expressly so defined herein.
[0082] As discussed above, a simulation designer designing a simulation model of a system can query a system PID to learn about the components and interconnections of the process plant being modeled. The PID can be drawn in a software environment (SW). Similarly, the simulation model is often developed in a SW environment. A simulation modeling software environment can include a GUI interface through which a simulation model can be entered or defined, and / or the simulation modeling software can accept model definitions through an input file, for example, ASCII. According to at least some related simulation model design procedures, a simulation engineer enters each illustrated component and interconnection into a PID in the simulation modeling software, manually (for example, through the GUI interface). For example, if a PID illustrates two elements of the system (for example, two tanks) connected to each other by a pipe, a software engineering would manually add the two elements of the system to a simulation model, and would manually add a pipe connecting the two simulation elements to the simulation model, using simulation modeling software. Consequently, the process of a simulation engineer manually creating a simulation model of a system based on a system PID can be time consuming, particularly when the system is a large system with hundreds or more of components and interconnections (for example , a power plant system or a chemical processing plant system).
[0084] Some software packages for designing PIDs include an export function that generates an extensible markup language (XML) code representation of the components and interconnections illustrated by a PID. For example, the XML code generated by the PID software can follow the PID XML ISO 15926 standard.
[0086] According to at least some example embodiments, a simulation model generation procedure includes extracting information defining the components and interconnections illustrated in a PID from the XML representation of the PID, and generating a simulation model based on in the information extracted. In accordance with at least some example embodiments, the simulation model is generated automatically, without the need for a simulation engineer to enter each illustrated component and interconnect into a PID into the simulation modeling software manually. Examples of The simulation model generation procedure in accordance with example embodiments is discussed in greater detail below with reference to Figures 2-8. An example of a simulation model generation apparatus implementing the simulation model generation procedure will be discussed below with reference to FIG. 1.
[0088] FIG. 1 is a block diagram illustrating an example simulation model generation apparatus in accordance with at least some example embodiments. Referring to FIG. 1, a simulation model generation apparatus 200 may include, for example, a data bus 259, a display unit 252, an input unit 254, a storage unit 256, and a processing unit. 258.
[0090] Display unit 252, input unit 254, storage unit 256, and processing unit 258 can send and / or receive data to each other using data bus 259.
[0092] The display unit 252 displays information graphically, for example, for viewing by a user. Display unit 252 may include any device capable of displaying information including, for example, one or more than a monitor, a television, a liquid crystal display (LCD) screen, a light-emitting diode (LED) screen, a cathode ray tube (CRT) screen, a projector and the like.
[0094] The input unit 254 receives data as input, for example, from a user. The input unit 245 can include any device capable of receiving input data, including, for example, one or more than a mouse, a touch pad, a touch screen, a keyboard, a microphone, a camera, and the like.
[0096] Storage unit 256 can be any device capable of storing data, including one or more of volatile memory, non-volatile memory, magnetic storage, flash storage, random access memory (RAM), and the like.
[0098] The processing unit 258 can be any device that is capable of processing data and is configured to perform specific operations based on input data, or configured to execute instructions included in computer-readable code, including, for example, stored code. in storage unit 256.
[0099] In accordance with at least some example embodiments, the simulation model generation apparatus 200 may be programmed, in terms of software and / or hardware, to perform any or all of the functions described herein as performed by a model generation apparatus. simulation models, as well as any or all of the functions described below with reference to Figures 2-8. Accordingly, the simulation model generation apparatus 200 described herein can be realized as a special purpose computer through software and / or hardware programming.
[0101] Examples of the simulation model generated by apparatus 200 that is being programmed, in software terms, to perform any or all of the functions described herein as performed by a simulation model generation apparatus will now be described below. For example, storage unit 256 may store a program that includes executable instructions corresponding to any or all of the operations described herein as performed by simulation model generation apparatus. According to at least one example embodiment, additionally or alternatively to being stored in storage unit 256, executable instructions may be stored on a computer-readable storage medium, including, for example, an optical disk, flash drive, SD card, etc., and the simulation model generation apparatus 200 may include hardware for reading data stored on the computer-readable medium. Additionally, processing unit 258 may be a processor configured to perform any or all of the operations described herein as performed by simulation model generation apparatus 200 and / or any or all of the functions described below with reference to Figures 2-8, for example, reading and executing the executable instructions stored in at least one of the storage units 256 and a hardware-loaded computer-readable storage medium included in the simulation model generation apparatus 200 for reading computer-readable media.
[0103] The term 'processor', as used in the present disclosure, can refer to, for example, a data processing device implemented in hardware that has a circuit that is physically structured to perform the desired operations, including, for example , operations represented as code and / or instructions included in a program. Examples of the aforementioned hardware implemented data processing device include, but are not limited to, a microprocessor, a central processing unit (CPU), a processor core, a multicore processor, a multiprocessor, an application specific integrated circuit (ASIC), and a field programmable gate array (FPGA). The processors that execute program code are programmed processors and therefore are special-purpose computers.
[0105] Examples of the simulation model generated by apparatus 200 that is being programmed, in hardware terms, to perform any or all of the functions described herein as performed by a simulation model generation apparatus will now be described below. In addition to or alternatively to the executable instructions corresponding to the functions described herein as performed by a simulation model generation apparatus that is stored in a storage unit or computer-readable medium as discussed above, the processing unit 258 may include a circuit having a structural design dedicated to performing any or all of the operations described herein as performed by a simulation model generation apparatus and / or any or all of the functions described below with reference to the figures. 2-8. For example, the aforementioned circuit included in processing unit 258 may be a physically programmed FPGA or ASIC, through a specific circuit design, performing any or all of the operations described herein as performed by a generating apparatus. of simulation models.
[0107] FIG. 2 is a flow chart illustrating an example simulation model generation procedure in accordance with at least some example embodiments.
[0109] With reference to Fig. 2, in step S205, an XML file corresponding to a PID of a system is received. For example, in step S205, the simulation model generation apparatus 200 may receive an XML file corresponding to a PID of a system. For example, if the system being modeled by the simulation modeling apparatus is a system in a process plant (for example, a power plant or chemical processing plant) the XML file may be a file corresponding to a PID of a process plant. In accordance with at least some example embodiments, the PID generator software used to create or access the system PID may export the system PID as the XML file received by the simulation model generation apparatus 200 in step S205. . According to at least some example embodiments, the exported XML file follows the PID XML ISO 15926 standard. An example of a PID and XML data corresponding to a PID will now be discussed with reference to Figures 3 and 4.
[0110] Figure 3 illustrates an example of a portion of a PID 300. The portion of the PID 300 illustrated in Figure 3 may be a single page portion of the PID 300. The PID 300 may span multiple pages. The PID 300 illustrated in Figure 3 is a PID that describes a system or systems of a nuclear power plant. However, a PID describing a nuclear power plant system or systems is used as an example only. PIDs can be generated for several different types of systems, and the PID at which the XML file was received in step S205 is not limited to being a PID describing the systems associated with nuclear power plants.
[0112] As shown in Figure 3, a PID can include visual representations of several different types of components included in the system or systems that are being illustrated by the PID. As further shown in Figure 3, different types of components can be illustrated using different types of symbols known to those skilled in the art of the system or systems illustrated in the PID. For example, symbols used in a PID like the one shown in Figure 3 are defined in one legend and are used consistently in multiple diagrams. For example, the symbols illustrated in PID 300 are recognizable to those familiar with PIDs for nuclear power plant designs. Examples of components within the portion of the PID 300 illustrated in Figure 3 include valves 305, a pressure instrument 311, a Venturi / orifice 315, a temperature instrument 319, filters 321, an off-page connector 323, and a pressure instrument. 325 differential pressure. The 305 valves are used to isolate / control the flow in the system described by the PID 300. The 325 differential pressure instrument and the temperature instrument are used to measure pressure and temperature, respectively, in the system. described by PID 300. Venturi / orifice 315 creates a decrease in area to measure differential pressure to measure flow in system described by PID 300. Filters 321 remove particles from liquid in system described by PID 300 The off-page 323 connectors each designate and label a system connection to another page of the PID 300. In the example shown in Figure 3, those off-page 323 connectors co They connect the portion of the PID 300 illustrated in Figure 3 to clean water 954 and a make-up water system 951. Differential pressure instrument 325 measures a pressure difference between two points in the system described by PID 300. Other examples Components that could be included in the PID 300 include, but are not limited to, tanks and / or vessels, and silencers. The tanks and / or vessels can be used, for example, to store mass and / or provide make-up water to the system described by the PID 300. The silencers can be used, for example, to create flow restrictions or to eliminate turbulence. As shown furthermore in figure 3, the interconnections between the different types of components can also be included in a PID. For example, the interconnections illustrated in the PID 300 may represent, for example, pipelines between various components of a nuclear power plant system or systems. As mentioned above, a PID can be exported as an XML file. An excerpt from this XML file is illustrated in Figure 4.
[0114] Figure 4 illustrates a portion of an XML file 400. The XML file 400 corresponds to the PID 300. As illustrated in Figure 4, the XML file 400 includes XML data, that is, data expressed using XML syntax. The XML 400 file follows the PID XML ISO 15926 standard. The portion of the XML 400 file shown in Figure 4 illustrates XML data that describes the Filter-0121 filter component, which is one of the 321 filters illustrated in PID 300 of Figure 3. The filter component Filter-0121, in the present disclosure, is also referred to simply as "the Filter-0121 component". The Filter-0121 component could be one of the two filters 321 illustrated in Figure 3. The Filter-0121 component is represented in the XML file 400 as the "Equipment" element illustrated in Figure 3B (that is, the XML element named "Equipment" illustrated in figure 4). The "Equipment" illustrated element includes "ComponentName", "ComponentClass", "ID", and "LabelName" attributes, each of which corresponds to the component described by the "Equipment" element which, in the example illustrated in figure 4 , is the Filter-0121 component. The ComponentName attribute indicates that a component type of the Filter-0121 component is a filter. The ComponentClass attribute indicates a class of components to which the Filter-0121 component belongs. In accordance with at least some example embodiments, the LabelName attribute indicates a label (ie, "Filter-0121") that can be illustrated in the PID 300 as a visual identifier of the Filter-0121 component. However, for ease of description, filters 321 are illustrated in PID 300 of FIG. 3 using only reference numbers, and not label names. The ID attribute indicates an identifier value for the Filter-0121 component described by the "Equipment" element illustrated in Figure 4. According to at least some example embodiments, the identifier value of the ID attribute can uniquely identify, with respect to to all the components described in the XML file 400 and / or included in the PID 300, the Filter-0121 component described by the "Equipment" element illustrated in figure 4. For example, even in a case in which the TagName " Filter-0121 "can be used for more than one filter described in the XML file 400 and / or included in the PID to which the XML file 400 corresponds, the identifier value of the ID attribute of the" Equipment "element illustrated in figure 4 must be unique to the particular instance of the Filter-0121 component described by the "Equipment" element illustrated in Figure 4. The unique identification attribute identifies the component to which the attribute of identification differentiates the identified component from similar components in design documents (for example, the PID) and the simulation model.
[0116] The illustrated "Team" element of XML file 400 in Figure 4 includes several sub-elements that may also be called child elements. These sub-elements describe additional characteristics of the filter component described by the "Equipment" element. Additional features include, for example, a position of the filter component within the PID to which the XML file 400 corresponds, an extension of the filter component within the PID to which the XML file 400 corresponds (for example, maximum and minimum horizontal positions and maximum and minimum vertical positions of the filter component within the PID to which the XML file 400 corresponds), and lines and colors included in the filter component within the PID to which the XML file 400 corresponds. The sub-items also include descriptions of various nozzles included in the filter component.
[0118] Although, for the sake of simplicity, Figure 4 illustrates only XML data for a single filter component, the XML file 400 can include XML data that describes any or all of the components included in the PID to which the XML file 400 corresponds. In addition , the elements described by the XML data included in the XML file 400 can be of several different types. Because, as stated above, XML file 400 is an example of an XML file exported from a PID illustrating a nuclear power plant system or systems, examples of the different types of components that can be described in the XML file 400 include, but are not limited to, pumps, valves, filters, tanks, pipe segments, metering instrumentation, silencers, and page connectors. Page connectors represent connections that span adjacent pages of a multi-page PID.
[0120] Furthermore, as is known, the specific types of attributes and / or sub-elements included in an element or sub-element of the XML 400 file may vary depending on the type of component that the element or sub-element of the XML file 400 describes. For example, such as the "element Equipment "illustrated in figure 4 describes the Filter-0121 component, the types of attributes and / or sub-elements include the element" Equipment "illustrated in figure 4 correspond to filters. Consequently, the elements or sub-elements of the XML file 400 that describe components other than filters may include attribute types and / or sub-elements that differ from the attribute and sub-element types in the "Equipment" element illustrated in Figure 4.
[0121] The PID 300 and XML file 400 are generated using P&ID CAD (Computer Aided Design) software. The example of the PID 300 depicted in Figure 3 is an example of a PID generated using the SmartPlant® P&ID software, and the example of the portion of the XML file 400 depicted in Figure 4 is an example of a portion of a generated XML file with SmartPlant® P&ID software. However, the SmartPlant® P&ID software is just one example among several well-known types / brands of P&ID CAD software that can be used to generate PIDs and XML files for use with the simulation model generation procedure illustrated in Figure 2. By For example, according to at least some example embodiments, the XML file retrieved in step S205 of Figure 2 and the PID to which the retrieved XML file corresponds can be generated by any P&ID CAD software capable of generating XML data according to the PID XML ISO 15926 Standard.
[0123] Returning to Figure 2, in operation S210, objects (ie components) defined by the XML file are identified. For example, according to at least some example embodiments, in step S210, the simulation model generation apparatus 200 may identify components defined by the XML file that was received by the simulation model generation apparatus 200 at the time. step S205. As described above with reference to Figure 4, an XML file corresponding to a PID may include XML data describing one or all of the components, and the interconnections between components, illustrated in the PID to which the XML file corresponds. In step S210, the simulation model generation apparatus 200 can read the XML data included in an XML file that was exported from a PID file and identify the various components described by the XML file. For example, the simulation model generation apparatus 200 may read the XML file and identify the components described by the XML file based on the attribute information included in the elements and / or sub-elements included in the XML file. Using the structure of the "Equipment" element of the XML file 400 illustrated in Figure 4 as an example, in step S210, the simulation model generation apparatus 200 can determine a type of component described by an element included in the XML file 400 By reading the "ComponentName" attribute of the element, determine a name or tag of the component described by the element included in the XML file 400 by reading, for example, the "TagName" or "ElementLabel" attribute of the element, and determine an identifier value of a component described by an element included in the XML file 400 by reading the element's "ID" attribute. Based on at least some example implementations, the XML file can also specify performance data for the components included in the XML file 400, for example, flow rate, flow area, heat transfer area, length, filter efficiency, which is needed for the simulation platform. Alternatively, the performance information can be read from a separate file. Also, although an XML file is used as an example of a file in which the performance data mentioned above can be stored, the performance data can be stored in non-XML formats.
[0125] In step S215, information describing the identified components is stored, based on the XML file. For example, in step S215, the simulation model generation apparatus 200 may store information describing the components that were identified by the simulation model generation apparatus 200 in step S210. The simulation model generation apparatus 200 can extract information describing the identified components from the XML file that the simulation model generation apparatus 200 received in step S205, and store the extracted data, for example, in the storage unit. 256. According to at least some example embodiments, for each component, the simulation model generation apparatus 200 identified in step S210, in step S215, the simulation model generation apparatus 200 can create a corresponding matrix to the component, the array is filled with information corresponding to the attributes and / or sub-elements of the element or sub-element that describes the component in the XML file, and the array is stored. For example, an example component matrix that corresponds to the Filter-0121 component described by the item "Equipment" illustrated in Figure 4 and can be created by the simulation model generated by the apparatus 200 in step S215 is illustrated in the Table 1, below.
[0127] Table 1
[0132] As illustrated in Table 1, the array corresponding to the Filter-0121 component can include, as the value of an array element "ID", the value of the attribute "ID" extracted by the simulation model generation apparatus 200 of the element. "Team" from the XML file 400 that describes the Filter-0121 component. The matrix illustrated in Table 1 that corresponds to the Filter-0121 component can include, as a value of an array element "Name", the value of the attribute "ComponentName" extracted by the simulation model generation apparatus 200 of the element "Equipment "from the XML 400 file that describes the Filter-0121 component. The matrix illustrated in Table 1 that corresponds to the Filter-0121 component can include, as the value of an array element "LabelName", the value of the attribute "LabelName" extracted by the simulation model generation apparatus 200 of the element "Equipment "from the XML 400 file that describes the Filter-0121 component. The matrix illustrated in Table 1 that corresponds to the Filter-0121 component can include, as values of matrix elements "PosX" and "PosY", respectively, the values "X" and "Y" of the sub-element "Position" extracted by the simulation model generation apparatus 200. The matrix illustrated in Table 1 corresponding to the Filter-0121 component can include, as 4 different "IDBoq" matrix elements, the values of the 4 "ID" attributes extracted by the generation of simulation models 200, respectively, of the 4 different "Nozzle" sub-elements of the "Equipment" element of the XML file 400 that describes the Filter-0121 component. Furthermore, the array illustrated in Table 1 that corresponds to the Filter-0121 component can include, for each array element "IDBoq", corresponding "NameBoq""PosBoqX", and array elements "PosBoqY". As illustrated in Table 1, the 200 simulation model generation apparatus can group the "BoxName", "PosBoqX", and "PosBoqY" array elements with the array element "IDBoq" to which "NameBoq", "PosBoqX", and the elements of the array "PosBoqY" correspond. The simulation model generation apparatus 200 can extract, as the value of the matrix element "BoqName" from the matrix illustrated in Table 1, the attribute "ComponentName" from the corresponding one of the 4 sub-elements "Nozzle" of the element "Equipment" of the XML 400 file that describes the Filter-0121 component. The simulation model generation apparatus 200 can extract, as the values of the array elements "PosBoqX" and "PosBoqY" from the matrix illustrated in Table 1, respectively, values "X" and "Y" of a sub-element "Position" of the corresponding one of the 4 "Nozzle" sub-elements of the "Equipment" element of the XML file 400 that describes the Filter-0121 component. The simulation model generation apparatus can extract, like the matrix element "PMinX" of the matrix illustrated in Table 1, an attribute "X" of a sub-element "Min" of the sub-element "Extension" of the element "Equipment" of the XML file 400 that describes the Filter-0121 component. The simulation model generation apparatus can extract, like the matrix element "PMinY" from the matrix illustrated in Table 1, an attribute "Y" from a sub-element "Min" of the sub-element "Extension" of the element "Equipment" of the XML file 400 that describes the Filter-0121 component. The simulation model generation apparatus can extract, like the matrix element "PMaxX" of the matrix illustrated in Table 1, an attribute "X" of a sub-element "Max" of the sub-element "Extension" of the element "Equipment" of the XML file 400 that describes the Filter-0121 component. The simulation model generation apparatus can extract, like the matrix element "PMaxY" of the matrix illustrated in Table 1, an attribute "Y" of the sub-element "Max" of the sub-element "Extension" of the element "Equipment" of the file XML 400 that describes the Filter-0121 component.
[0134] Table 1, above, is provided as an example of an array that includes attributes of a component listed in an XML file. However, an array created for a component described in an XML file is not limited to including only the information shown in Table 1. Additional types of information that can be included in the array shown in Table 1 include, but are not limited to, They are not limited to, identification of graphical elements of the component corresponding to the matrix, topology information about the component corresponding to the matrix, and information about the dimensions of the component corresponding to the matrix (for example, pipe diameters).
[0136] Additionally, Table 1, above, is provided as an example of a component array created for a filter component described by XML file 400. Consequently, the The content of the component matrix shown in Table 1 corresponds to the attributes of a filter component. Those skilled in the art will understand that component arrays created for components other than filter components (eg, page connector, pipe segment, tank, valve, check valve, and / or pump components) may include types of attributes that correspond to the attributes of the component type for which the component array is created, and may differ from at least some of the attribute types listed in Table 1.
[0138] Table 1 is discussed above with reference to an example in which the contents of Table 1 are stored in an array data structure. However, according to at least some example embodiments, instead of, or in addition to, storing the contents of Table 1 in an array data structure, the contents of Table 1 may also be stored in a data structure of object that includes elements corresponding to each of the elements discussed above as included in Table 1.
[0140] In addition to the topology and component layout, other information can be provided in the ISO file. For example, the diameter of the pipes is exported to the XML file, and this can be loaded into the simulation model to characterize the hydraulic resistance of the flow paths.
[0142] 3D CAD models are also often available when the simulation model is created. Exporting pipe data from a 3D CAD model correlated to the equipment ID or "ID" (which uniquely identifies each component) can make it easier to identify the lengths of the flow paths and the elevation differences between the components, in a hydraulic simulation model. The 3D model can also identify elbows and tees in the pipes whose flow resistance coefficient can be determined using correlations such as the Idelchik or Crane manual.
[0144] The SW tools used to produce the P&ID are often used to load into a database additional design information that is needed to purchase the equipment. Reports from the design tool database indexed by TeamID or "ID" (which uniquely identifies each component) can be formatted and imported into most simulation tools, once the topology and component layout through this process. Examples of the type of information available are the nominal pump head and flow rate, heat transfer area of the exchanger of heat, flow area and hydraulic diameter and characteristic valve loss as a function of the open fraction.
[0146] Therefore, the simulation model generation method and apparatus according to at least some example embodiments, provides the ability to correlate and transfer data, and thus provides the ability to automate the development of the majority of the model. simulation.
[0148] The values of the array element "ID" and the array elements "IDBoq" of the array shown in Table 1 that corresponds to the Filter-0121 component are illustrated as the unique identification values read from the attributes of "ID" of the "Equipment" element and nozzle sub-elements that describe the Filter-0121 component within the XML file 400. However, according to at least one example embodiment, when generating the matrix shown in Table 1 in step S215 , the simulation model generating apparatus 200 may assign a different 4-digit value (eg, "0001") to each of several different unique identification values read from an "ID" attribute of an element or sub-element. For example, the simulation modeling apparatus 200 may start with the 4-digit value "0001" and increment the 4-digit value, for example, by 1, for each new unique identification value corresponding to each element of the ID matrix of each component matrix generated by the simulation model generation apparatus 200.
[0150] For example, in a scenario where the matrix illustrated in Table 1 is the first matrix generated by the simulation model generation apparatus 200, the simulation model generation apparatus 200 may begin by assigning the 4-digit value "0001" to the "ID" attribute of the "Equipment" element illustrated in FIG. 4. In addition, the simulation model generation apparatus 200 may sequentially assign the values "0002", "0003", "0004", and "0005" to the 4 unique identifier values read from the 4 "ID" attributes of the 4 "Nozzle" sub-elements of the "Equipment" element illustrated in Figure 4. When the simulation model generation apparatus generates the matrices (for example, the matrix shown in Table 1) in step S215, the simulation model generation apparatus 200 may use the 4-digit values as array element values instead of the unique identification values to which the values are assigned. 4-digit values .
[0152] Furthermore, in step S215, the simulation model generation apparatus 200 may also store a correspondence table that defines the correspondence between the unique identifier value stored in the attribute "ID" or an element or sub-element, and the 4-digit value generated by the simulation model generation apparatus 200 corresponding to the unique identifier. Therefore, in accordance with at least some example embodiments, the simulation model generation apparatus 200 can check the correspondence table to see if a 4-digit value has already been assigned to a unique identifier, and avoid generating a new 4-digit value for unique identifiers to which the simulation model generator 200 is already assigned a 4-digit value. Although 4-digit values are discussed above as an example, the operations described above with respect to 4-digit values can be applied to any desired number of digits, including, for example, 3-digit values, 5-digit values, and values 6 digits.
[0154] According to at least some example embodiments, in step S215, the simulation model generation apparatus 200 adds each of the generated matrices to at least one of a plurality of matrix lists, and stores the matrix lists, for example, in storage unit 256. Examples of different types of matrix lists will be discussed in greater detail below with reference to FIG. 5.
[0156] Although steps S210 and S215 are illustrated as separate steps, in accordance with at least some example embodiments, the simulation model generation apparatus 200 may perform steps S210 and S215 as a single step or separate steps.
[0158] Returning to Figure 2, in step S220, a simulation model is generated based on the information that describes the identified components. For example, in step S220, the simulation model generation apparatus 200 may generate a simulation model based on the information describing the identified components that was stored by the simulation model generation apparatus 200 in step S215.
[0160] According to at least some example embodiments, in step S220, the simulation model generation apparatus 200 creates a simulation model file corresponding to a desired simulation modeling software environment. The desired simulation modeling software environment can be chosen, for example, according to the preference of a simulation engineer or user who performs a procedure according to any of Figures 2-8. In addition, the simulation model generation apparatus 200 reads the matrices that were created and stored by the simulation apparatus. generation of simulation models 200 in step 215. In addition, for each matrix read, the simulation model generation apparatus 200 may generate a corresponding description of a component using the syntax of the desired simulation modeling software environment, and add the description to the simulation model file. The resulting simulation model file can define a simulation model.
[0162] Accordingly, in step S220, the simulation model generation apparatus 200 generates a simulation model by constructing the generation model file in the manner described above. Furthermore, the simulation model generated in step S220 can then be used by the simulation model generation apparatus 200 or a different apparatus to perform various types of simulations within the desired simulation modeling software environment. Furthermore, the simulation model generated in operation S220 can correspond or substantially correspond to the PID that was exported as the XML file received in operation S205, without the need for a simulation engineer to create the simulation model by manually entering, in the simulation model, each component and interconnection included in the PID. Consequently, the amount of time associated with creating a simulation model that corresponds to a PID can be significantly decreased.
[0164] More detailed explanations of operations S210 ~ S220, in accordance with at least some example embodiments, are described below with respect to Figures 5-7.
[0166] Figure 5 illustrates a procedure for performing object (ie component) identification in accordance with at least some example embodiments. According to at least some example embodiments, step S210 can be performed according to FIG. 5. According to at least some example embodiments, steps S210 and S215 can be performed according to FIG. 5.
[0168] Figures 5-7 will be described with reference to a scenario in which (i) the XML file received in step S205 represents pipe segments as components and (ii) according to the syntax of the simulation model file generated in the Step S220, the pipeline segments are represented as links originating at a first node and ending at a second node, and each link may be a pump link or a flow link. An example of the aforementioned scenario includes an operation of the simulation model generation apparatus 200 that generates a simulation model file. using the syntax of a simulation platform simulation model based on an XML file exported from a PID by the P&ID SmartPlant® software. Examples of different simulation platforms to which this apparatus applies include Modelica, MATLABtm, 3KEYMASTER ™, JADEtm. According to the syntax of a 3KEYMASTER ™ simulation platform simulation model, some components (for example, tanks, filters, valves, check valves and page connectors) are defined as nodes and some components (for example, pipe segments and pumps) are defined as links. Accordingly, with respect to the description of Figures 5-7 below, the matrices generated by the simulation model generation apparatus 200 for nodes may be referred to as node matrices, and the matrices generated by the simulation model generation apparatus simulation 200 for links can be called link matrices.
[0170] However, according to at least some example embodiments, the simulation model generation apparatus 200 is not limited to generating simulation models having the syntax of a specific simulation platform simulation model, and the generation apparatus 200 simulation models is not limited to using XML files that are exported from PID using specific P&ID CAD software.
[0172] With reference to FIG. 5, in step S502, an object (that is, component) identification operation is started for a component included in the XML file received in step S205 of FIG. 2. For example, in operation S502, the simulation model generation apparatus 200 may read an element or sub-element defining a component of the received XML file in step S205 of FIG. 2.
[0174] In step S505, the simulation modeling apparatus 200 determines whether the component defined by the item or sub-item read in step S502 is a page connector. For example, according to at least some example embodiments, in step S505, the simulation model generation apparatus 200 may determine whether the component defined by the item or sub-item read in step S502 is a page connector by determining whether a "ComponentName" attribute of the component defined by the element or sub-element read in operation S502 has a value corresponding to a page connector component.
[0176] If the simulation model generated by apparatus 200 determines, in operation S505, that the component defined by the element or sub-element read in operation S502 is a page connector, the simulation model generation apparatus 200 proceeds to step S510.
[0178] In step S510, the simulation model generation apparatus 200 extracts information defining the page connector component from the XML file received in step S205 of FIG. 2, and stores the extracted information. For example, the simulation model generation apparatus 200 may generate a matrix corresponding to the page connector component in the same manner discussed above with respect to operation S215 of FIG. 2 and the matrix illustrated in Table 1. For example, The array generated for the page connector component may include array elements for at least position information, component name information, and ID information for the page connector component. Furthermore, in step S510, the simulation model generation apparatus 200 may store the matrix corresponding to the page connector component in one of a plurality of matrix lists.
[0180] According to at least one example embodiment, the simulation model generation apparatus 200 may create a link node array list, an endpoint node array list, and a link array list. The array list of nodes in the link can store arrays corresponding to components that are defined as nodes that are placed on top of the links according to the design rules of the desired simulation modeling software environment. Examples of component types that correspond to the arrays included in the link node arrays list according to the design rules of some simulation platforms (eg 3KEYMASTER ™) include, for example, valve components and components check valve. The endpoint node array list can store arrays corresponding to components that can act as source or termination nodes for a link according to the design rules of the desired simulation modeling software environment. Examples of component types that correspond to the arrays included in the endpoint node array list according to the design rules of some simulation platforms (eg 3KEYMASTER ™) include, for example, tank components and components filter. The link matrix list can store matrices corresponding to components that are defined as links according to the design rules of the desired simulation modeling software environment. Examples of component types that correspond to arrays included in the link array list according to the design rules of some simulation platforms (eg 3KEYMASTER ™) include, for example, pump components and components of the pipe segment. Alternatively, the simulation platform can use a different fluid system simulation scheme, including, for example, a scheme in which, instead of pumps being defined as a link between nodes, a pump would be a component that it would be between two nodes. In addition, a valve or check valve could also be simulated differently. For example, instead of placing the valve or check valve in a flow link, the valve or check valve could be a component that is connected from one portion of the flow link to another portion of the flow link, or connected between 2 flow links.
[0182] If the simulation model generated by the apparatus 200 determines, in step S505, that the component defined by the element or sub-element read in step S502 is not a page connector, the simulation model generation apparatus 200 goes to the step S515.
[0184] In step S515, the simulation model generation apparatus 200 determines whether the component defined by the element or sub-element read in step S502 is a pipe segment. For example, in accordance with at least some example embodiments, in step S515, the simulation model generation apparatus 200 can determine whether the component defined by the element or sub-element read in step S502 is a pipe segment by determining whether a "ComponentName" attribute of the component defined by the element or sub-element read in operation S502 has a value corresponding to a pipe segment component.
[0186] If the simulation model generated by the apparatus 200 determines, in step S515, that the component defined by the element or sub-element read in step S502 is a pipe segment, the simulation model generation apparatus 200 goes to step S520.
[0188] In step S520, the simulation model generation apparatus 200 determines whether the pipe segment splits (eg, branches).
[0190] If, in step S520, the simulation model generation apparatus 200 determines that the pipe segment is split, the simulation model generation apparatus 200 goes to step S525.
[0191] In step S525, the simulation model generation apparatus 200 can generate and store multiple matrices that define multiple links. For example, if a pipe segment originates from a first node and branches into two pipes that connect to a second and third node, respectively, the simulation modeling apparatus 200 can generate and store a corresponding node array to a new fourth node located at the point where the two pipes split. The simulation modeling apparatus 200 may generate and store a first link matrix that defines a first link as originating at the first node and terminating at the new fourth node. The simulation modeling apparatus 200 may generate and store a second link matrix that defines a second link as originating at the new fourth node and terminating at the second node. In addition, the simulation modeling apparatus 200 may generate and store a third link matrix that defines a third link as originating at the new fourth node and ending at the third node.
[0193] In step S530, the simulation model generation apparatus 200 can extract the node name and / or ID value and node position values from the received XML file in step S205 of FIG. 2, and fill elements An array of the first, second, and third link arrays generated in step S525 with the corresponding node name and / or ID values and node position values. For example, the element or sub-element in the XML file that defines the pipe segment component identified by the simulation modeling apparatus in step S515 may also include, for example, a "FromID" value that identifies a source node of the pipe segment and one or more "AID" values that identify one or more termination nodes of the pipe segment. The "FromID" and "AID" values can be, for example, attributes of a "Connection" sub-element of a "Route Network Segment" element of the XML file that defines the pipe segment identified in operation S515. Accordingly, in step S530, the simulation model generation apparatus 200 may create or complete array elements specifying link source nodes and link termination nodes for each of the first, second, and third link arrays. . According to at least some example embodiments, each of the first, second, and third nodes may be, for example, components for which matrices have already been generated by simulation model generation apparatus 200. Accordingly, the simulation model generation apparatus 200 can refer to the matrices corresponding to the first, second and third nodes to acquire the position information of the first, second and third nodes that can be included as values for the elements of the position matrix of the first, second and third link matrices. Agree with at least In some example embodiments, the simulation model generation apparatus 200 placed node arrays corresponding to the first, second, and third nodes in the endpoint node matrix list, for example, when the simulation model generation apparatus 200 created the arrays for the first, second, and third nodes.
[0195] According to at least some example embodiments, in step S530, the simulation model generation apparatus 200 can store the first, second, and third link matrices in the link matrix list, and can store the node matrix which defines the new fourth node in the endpoint node array list.
[0197] If, in step S520, the simulation model generation apparatus 200 determines that the pipe segment is not split, the simulation model generation apparatus 200 proceeds to step S535.
[0199] In step S535, the simulation model generation apparatus 200 may generate and store a link matrix that defines a link corresponding to the pipe segment identified by the simulation model generation apparatus 200 in step S515.
[0201] In step S540, the simulation modeling apparatus 200 may extract the node name and / or ID value and node position values from the received XML file in step S205 of FIG. 2, and fill elements matrix of the matrix of links generated in operation S535 using, for example, a "FromID" value that identifies a pipe segment origin node and "AID" values that identify one or more pipe segment termination nodes . The "FromID" and "AID" values can be, for example, attributes of a "Connection" sub-element of a "PipeNetwork Segment" element of the XML file that defines the pipe segment identified in operation S515.
[0203] According to the design rules of the simulation platform, there may be different types of links including, for example, flow links and pump links. According to at least some example embodiments, pump links may differ from flow links in that a pump link describes a link to which a pumping force is applied. According to at least some example embodiments, each of the links described above with respect to operations S525 ~ S540 may be a flow link. Examples of pump links are described below with reference to steps S580 and S585.
[0205] If the simulation model generated by the apparatus 200 determines, in step S515, that the component defined by the element or sub-element read in step S502 is not a pipe segment, the simulation model generation apparatus 200 goes to operation S520.
[0207] In step S545, the simulation model generation apparatus 200 determines whether the component defined by the item or sub-item read in step S502 is a tank. For example, according to at least some example embodiments, in step S545, the simulation model generation apparatus 200 may determine whether the component defined by the element or sub-element read in step S502 is a tank by determining whether an attribute "ComponentName" of the component defined by the element or sub-element read in operation S502 has a value corresponding to a tank component.
[0209] If the simulation model generated by the apparatus 200 determines, in operation S545, that the component defined by the element or sub-element (of component class or component name) read in operation S502 is a tank, (or accumulator, drum or container) the simulation model generation apparatus 200 proceeds to step S550.
[0211] In step S550, the simulation model generation apparatus 200 generates and stores a node matrix corresponding to the tank component identified in step S545.
[0213] In step S555, the simulation model generation apparatus 200 extracts information defining the tank component from the XML file received in step S205 of FIG. 2, and stores the extracted information in the node array generated in step S550 . For example, the simulation model generation apparatus 200 may generate a matrix corresponding to the tank component in the same manner discussed above with respect to operation S215 of Figure 2 and the matrix illustrated in Table 1. For example, the The generated array for the tank component may include array elements for at least position information, component name information, and tank component identification information. Also, in operation S555, the Simulation model generation apparatus 200 may store the matrix corresponding to the tank component in the end point node matrix list.
[0215] If the simulation model generated by the apparatus 200 determines, in step S545, that the component defined by the element or sub-element read in step S502 is not a tank component, the simulation model generation apparatus 200 goes to the operation S560.
[0217] In step S560, the simulation model generation apparatus 200 determines whether the component defined by the element or sub-element read in step S502 is a valve. For example, according to at least some example embodiments, in step S545, the simulation model generation apparatus 200 may determine whether the component defined by the element or sub-element read in step S502 is a valve by determining whether an attribute "ComponentName" of the component defined by the element or sub-element read in operation S502 has a value corresponding to a valve component.
[0219] If the simulation model generated by apparatus 200 determines, in step S560, that the component defined by the element or sub-element read in step S502 is a valve, the simulation model generation apparatus 200 proceeds to step S565.
[0221] In step S565, the simulation model generation apparatus 200 generates and stores an array of nodes corresponding to the valve component identified in step S560.
[0223] In step S570, the simulation model generation apparatus 200 extracts information defining the valve component from the XML file received in step S205 of FIG. 2, and stores the extracted information in the node array generated in step S565 . For example, the simulation model generation apparatus 200 may generate a node matrix corresponding to the valve component in the same manner discussed above with respect to operation S215 of Figure 2 and the matrix illustrated in Table 1. For example , the generated matrix for the valve component may include matrix elements for at least position information, component name information, and valve component identification information. Additionally, for valves (as well as check valves and other connection type components), the generated node array can further include information extracted from the XML file 400 that identifies the connection points of the valve or other components to which the valve is connected (for example, "FromID" and "AID" attributes). Furthermore, in step S570, the simulation model generation apparatus 200 may store the node matrix corresponding to the valve component in the node matrix list in the link.
[0225] If the simulation model generated by the apparatus 200 determines, in step S560, that the component defined by the element or sub-element read in step S502 is not a valve component, the simulation model generation apparatus 200 goes to operation S575.
[0227] In step S575, the simulation model generation apparatus 200 determines whether the component defined by the item or sub-item read in step S502 is a pump. For example, according to at least some example embodiments, in step S575, the simulation model generation apparatus 200 may determine whether the component defined by the item or sub-item read in step S502 is a pump by determining whether an attribute "ComponentName" or "Name" of the component defined by the element or sub-element read in operation S502 has a value corresponding to a pump component.
[0229] If the simulation model generated by the apparatus 200 determines, in step S575, that the component defined by the element or sub-element read in step S502 is a pump, the simulation model generation apparatus 200 goes to step S580.
[0231] In step S580, the simulation model generation apparatus 200 generates and stores a link matrix corresponding to the pump component identified in step S560.
[0233] In step S585, the simulation model generation apparatus 200 extracts information defining the pump component from the XML file received in step S205 of FIG. 2, and stores the extracted information in the link matrix generated in step S580 . For example, the simulation model generation apparatus 200 may generate a link matrix corresponding to the pump component in the same manner discussed above with respect to operation S215 of Figure 2 and the matrix illustrated in Table 1. For example , the generated link matrix for the pump component may include array elements for at least position information of the pump component, component name information of the component of the pump and pump component identification information. Additionally, the link matrix generated for the pump component can define a pump link. Also, in step S570, the simulation model generation apparatus 200 may store the link matrix corresponding to the pump component in the link matrix list.
[0235] According to at least some example embodiments, in step S585, the simulation model generation apparatus 200 may store the link matrix generated in step S580 in the list of link matrices.
[0237] Referring to FIG. 5, if the simulation model generation apparatus 200 does not identify the component defined by the element or sub-element read in step S502, the simulation model generation apparatus 200 may return to step S502, read a new element or sub-element of the XML file received in step S205 of FIG. 2 and try to identify a component defined by the new element or sub-element according to steps S505 ~ S585.
[0239] The various types of components described with respect to Figure 5 (eg, page connector, pipe segment, tank, valve, and pump) are provided as examples. The simulation model generation apparatus 200 is not limited to identifying the component defined by the element or sub-element read in step S502 as one of the types of components described with respect to FIG. 5. According to at least some embodiments of For example, the simulation model generation apparatus 200 is further capable of identifying additional component types including, for example, filtering the component types and the check valve component types, which can be processed according to the procedures described for tanks and valves, respectively.
[0241] Figures 6 and 7 are flow charts to illustrate a procedure for generating a simulation model file in accordance with at least some example embodiments. Figure 6 describes an example of a way in which the node arrays generated in the object identification procedure described above with respect to Figure 5 are used to generate the simulation model file. Figure 7 describes an example of a way in which the link matrices generated in the procedure described above with respect to Figure 5 are used to generate the simulation model file.
[0242] Referring to FIG. 6, in step S605, the simulation model generation apparatus 200 can create a simulation model file in accordance with the file format of the desired simulation modeling software environment, and identify a number and positions of the components described by the node arrays discussed above with respect to Figure 5. Step S605 may include two sub-operations, S610 and S620.
[0244] In step S610, the simulation model generation apparatus 200 may read the information stored in the node arrays listed in the endpoint node list discussed above with respect to FIGS. 5. In step S615, the simulation model generation 200 can use the information read in operation S610 to generate descriptions of each of the components corresponding to the node arrays listed in the list of endpoint nodes, using the syntax of the modeling software environment of desired simulation. The simulation model generation apparatus 200 can add each of the descriptions generated in step S615 to the simulation model file created in step S605, thereby defining, in the simulation model file, node objects that use the syntax of the desired simulation modeling software environment. Therefore, according to at least some example embodiments, each node object defined in the simulation model file in step S615 may correspond to an endpoint node array included in the point node array list end described above with respect to Figure 5.
[0246] As illustrated in FIG. 6, according to at least some example embodiments, the node objects defined in the simulation model file by the simulation model generation apparatus 200 in step S615 may each include a value ID "ID", a place value "Pos", a value of type "Type", a name value "Name", and graphic information "BMP".
[0248] According to at least some example embodiments, the node objects defined in the simulation model file by the simulation model generation apparatus 200 at step S615 may each include, as an identifier value (eg, "ID"), a unique 4-digit integer. Furthermore, the unique 4-digit integers included in the definitions of the node objects added to the simulation model file in step S615 can be unique 4-digit integers assigned to the components for which the endpoint node arrays corresponding to the node objects were generated. Examples of generating 4-digit unique integers for component arrays are discussed above with respect to Table 1. Similarly, the component tag names included in the definitions of the node objects added to the model file Simulation in step S615 can be or include the tag names of the components for which the endpoint node arrays corresponding to the node objects were generated.
[0250] In step S615, for each node object that is defined in the simulation model file, the simulation model generation apparatus 200 can determine the position value "Pos" of the node object based on the position information ( for example, coordinates) included in the endpoint node array to which the node object corresponds, determine the value of type "Type" of the node object based on the type information (for example, type = tank or connector of page) included in the array of endpoint nodes to which the node object corresponds, determine the value of the name "Name" of the node object based on the name information (for example, a tag name) included in the array of endpoint nodes to which the node object corresponds, and determine the "BMP" graphical information of the node by providing a link to an image file (for example, a bitmap) that corresponds to the given type information pair to the node object.
[0252] In accordance with at least some example embodiments, before performing step S620, the simulation model generation apparatus 200 may proceed to the procedure illustrated in FIG. 7.
[0254] Referring to FIG. 7, in step S705, the simulation model generation apparatus 200 identifies links.
[0256] According to at least some example embodiments, step S710 is a suboperation of step S705. In step S710, the simulation modeling apparatus 200 can access link matrices that define corresponding components by reading the list of link matrices described above with respect to FIG. 5.
[0257] In step S715, the simulation model generation apparatus 200 can read the information stored in each of the link matrices listed in the list of link matrices.
[0259] In the S720 instruction, the simulation modeling apparatus 200 can identify the "FromID" and "AID" information included in the information read from each of the link arrays in the S715 instruction. In the S725 instruction, based on the "FromID" and "AID" information identified in the S720 instruction, the simulation model generation apparatus 200 can determine, for each connection defined by a connection matrix included in the matrix list of links, the nodes that act as end points for the link and can generate descriptions of each of the links using the syntax of the desired simulation modeling software environment. The simulation model generation apparatus 200 can add each of the descriptions generated in step S725 to the simulation model file created in step S605, thereby defining, in the simulation model file, link objects that use the syntax of the desired simulation modeling software environment.
[0261] As illustrated in FIG. 7, in accordance with at least some example embodiments, the link objects defined in the simulation model file by the simulation model generation apparatus 200 in the S725 operation may each include a value of ID "ID", a position value "Pos", a value of type "Type", a value of name "Name", the values "FromID" and "AID", values of width and color Width and Color, a information element "NumDePoints" and an information element "Points".
[0263] According to at least some example embodiments, the node objects defined in the simulation model file by the simulation model generation apparatus 200 in step S725 may each include, as an identifier value (eg, "ID"), a unique 4-digit integer. Additionally, the unique 4-digit integers included in the definitions of the binding objects added to the simulation model file in the S725 operation can be unique 4-digit integers assigned to the components for which the binding matrices corresponding to link objects. Examples of generating 4-digit unique integers for component arrays are discussed above with respect to Table 1. Similarly, the component tag names included in the definitions of the binding objects added to the model file simulation in S725 instruction can be or Include the tag names of the components for which the link arrays corresponding to the link objects were generated.
[0265] In step S720, for each link object that is defined in the simulation model file, the simulation model generation apparatus 200 can determine the position value "Pos" of the link object based on the position information ( eg coordinates) included in the link array to which the link object corresponds, determine the type value "Type" of the link object based on the type information (eg type = pump link or link of flow) included in the array of links to which the link object corresponds, determine the value of the name "Name" of the link object based on the name information (for example, a tag name) included in the array of links to which the link object corresponds, determine the "FromID" and "AID" values of the link object based on the FromID and AID information (for example, the FromID and AID information discussed above with reference to the operation ion S535) included in the link matrix to which the link object corresponds, and determine the "Color" and "Width" values of the link object based on the color and width information included in the matrix link to the corresponding to the binding object. Furthermore, in the S720 instruction, for each link object that is defined in the simulation model file, the simulation model generation apparatus 200 may use the attribute information read from the link arrays in the S715 instruction to generate the "NumDePuntos" element, which contains information elements that identify a number of points through which the corresponding link will be routed and generates the "Points" element, which contains information that identifies the coordinates of each of the points through of which the corresponding link will be routed.
[0267] Therefore, according to at least some example embodiments, each link object defined in the simulation model file in the S725 operation may correspond to a link matrix included in the link matrix list described above with respect to FIG. 5. According to at least some example embodiments, the binding objects defined in the simulation model file by the simulation model generation apparatus 200 in the S725 operation may each include, as an identifier value (for example, "ID"), a unique 4-digit integer. In addition, the unique 4-digit integers included in the definitions of the binding objects in the simulation model file can be unique 4-digit integers assigned to the components for which the binding matrices corresponding to the binding objects were generated. . Examples of generating 4-digit unique integers for the Component arrays are discussed above with respect to Table 1. Similarly, the component tag names included in the definitions of the binding objects in the simulation model file can be or include the tag names of the components for which the link matrices corresponding to the link objects were generated.
[0269] Furthermore, the link objects defined in the simulation model file by the simulation model generation apparatus 200 in the S725 operation may represent connections between 2 nodes and each may be a pump link or a flow link. The pump link is a link that adds energy (flow) to the system that is being modeled by the simulation modeling software environment. A flow link passes energy into the system that is being modeled by the simulation modeling software environment.
[0271] According to at least some example embodiments, after performing step S725, the simulation model generation apparatus 200 may return to the procedure illustrated in FIG. 6.
[0273] Returning to FIG. 6, in step S620, the simulation model generation apparatus 200 can read the information stored in the node arrays listed in the link node list discussed above with respect to FIG. 5. In step S625, the simulation model generation apparatus 200 may use the information read in step S620 to generate descriptions of each of the node objects corresponding to the node arrays listed in the node list in the link, using the syntax of the desired simulation modeling software environment. The simulation model generation apparatus 200 may add each of the descriptions generated in step S625 to the simulation model file created in step S605, thus defining, in the simulation model file, node objects that use the syntax of the desired simulation modeling software environment. Therefore, according to at least some example embodiments, each node object defined in the simulation model file in step S625 may correspond to a link node array included in the link node array list described. above with respect to Figure 5.
[0275] As illustrated in Figure 6, according to at least some example embodiments, the node objects defined in the simulation model file by the generation apparatus 200 simulation models in operation S625 may each include an ID value "ID", a position value "Pos", a paste ID value "PasteID", a value of type "Type", a value of name "Name", and graphic information "BMP".
[0277] In accordance with at least some example embodiments, the node objects defined in the simulation model file by the simulation model generation apparatus 200 at step S625 may each include, as an identifier value (eg, "ID"), a unique 4-digit integer. Also, the unique 4-digit integers included in the definitions of the node objects in the simulation model file can be unique 4-digit integers assigned to the components for which the link node arrays corresponding to the objects were generated. node. Examples of generating 4-digit unique integers for the component arrays are discussed above with respect to Table 1. Similarly, the component tag names included in the definitions of the node objects added to the simulation model in operation file S625 can be or include the tag names of the components for which the link node arrays corresponding to the node objects were generated.
[0279] In step S625, for each node object that is defined in the simulation model file, the simulation model generation apparatus 200 may determine the position value "Pos" of the node object based on the position information ( for example, coordinates) included in the array of nodes in the link to which the node object corresponds, determine the type value "Type" of the node object based on the type information (for example, type = valve or valve retention) included in the array of binding nodes to which the node object corresponds, determine the value of the name "Name" of the node object based on the name information (for example, a tag name) included in the array of bound nodes to which the node object corresponds, and determine the "BMP" graphical information of the node by providing a link to an image file (for example, a bitmap) that corresponds to the type information determined for the obj node eto. Further, in step S625, for each node object that is defined in the simulation model file in step S625, the simulation model generation apparatus 200 can set the paste ID value "Paste ID" as the ID. from the link, identified in step S560, that the node object (eg, valve or check valve) is placed online (or above).
[0280] As noted above, Figures 5-7 were described with reference to a scenario in which (i) the XML file received in step S205 represents pipe segments as objects and (ii) according to the syntax of the model file In the simulation generated in step S220, the pipe segments are represented as links originating at a first node and ending at a second node, and each link may be a pump link or a flow link.
[0282] However, according to at least some example embodiments, if the XML file received in step S205 and the syntax of the simulation model file generated in step S220 describe pipe segments using links, or both describe pipe segments as objects that may have more than two branches, step S520 ~ S530 in FIG. 5 can be omitted, and the simulation model generation apparatus 200 can proceed directly from step S515 to step S535, when it is determined that the object is a pipe segment in operation S515.
[0284] Furthermore, if, according to the syntax of the simulation model file generated in step S220, the pumps are described as node objects instead of link objects, a node array can be created for the pump object in the S580 operation instead of a link matrix.
[0286] Furthermore, if, according to the syntax of the simulation model file generated in step S220, the link nodes are treated as end points in the same way as the end point nodes, operations S620 and S625 in Fig. 6 can be omitted, and all node objects (including valves and check valves) can be handled by simulation model generation apparatus 200 in accordance with operation S610 and S615.
[0288] FIG. 8 is a flow chart illustrating an example of a simulation model generation procedure. The simulation modeling procedure of FIG. 8 may be performed by the simulation model generation apparatus 200. The simulation modeling procedure of FIG. 8 may include receiving and opening an XML file corresponding to a PID of a system, such as is described in more detail below with reference to steps S805 and S810. The XML file can include information about the attributes of the PID and information about the attributes of system components. The simulation modeling procedure of Figure 8 may further include extracting the information about the attributes from the PID and storing the extracted information about the attributes. of the PID, as described in more detail below with reference to step S815. The simulation modeling procedure in Figure 8 may further include identifying system components that are described in the XML file, extracting information about the attributes of the identified components from the XML file, and storing the extracted information about the attributes of the components. identified, as described in greater detail below with reference to steps S820-S840. The simulation modeling procedure of Figure 8 may further include generating a simulation model page using the syntax of a desired simulation modeling software environment, based on information stored about the attributes of the identified components, as described. in more detail below with reference to step S850.
[0290] In step S805, the simulation model generation apparatus 200 receives an XML file. The simulation model generation apparatus can perform operation S805 in the same manner as described above with respect to operation S205 of FIG. 2. As an example, FIG. 8 will be explained with respect to a scenario in which the Simulation model generation apparatus receives the XML file 400 of FIG. 4 at step S805. In accordance with at least some example embodiments, the PID generator software used to create or access a PID of a system may export the PID of the system in the form of the XML file received by the simulation model generation apparatus 200 in the operation S805. Figure 8 will be explained with reference to a scenario in which the PID 300 of Figure 3 is exported, by the PID generator software used to create or access the PID 300, as the XML file 400 received by the generation apparatus. 200 simulation models in operation S805. According to at least some example embodiments, the XML file 400 follows the PID XML ISO 15926 standard.
[0292] In step S810, the simulation model generation apparatus 200 opens the received XML file in step S805 to access the content of the received XML file. For example, in step S810, the simulation model generation apparatus 200 opens the XML file 400.
[0294] In step S815, the simulation model generation apparatus 200 extracts, from the received XML file, PID dimensions corresponding to the received XML file, and stores the extracted information in a data structure referred to herein as a list. PIDcoord. According to at least some example embodiments, the simulation model generation apparatus 200 may generate the list PlDcoord searching through the XML file 400, finding the element that lists the dimensions of the PID 300, creating an array or object data structure that stores the dimensions of the PID 300 that are contained in the XML file 400, and storing the array or object created in the PIDcoord list. For example, the simulation model generation apparatus 200 can extract the attributes "X" and "Y" from the sub-elements "Min" and "Max" from a sub-element "Extension" of an element "Drawing" included in the XML file. 400, and store the extracted elements as a PID coordinate object in the PIDcoord list. If an XML file includes information exported from more than one PID, the simulation modeling apparatus 200 can create a PID coordinate object for each PID represented in the XML file, the PIDcoord list can include each of the coordinate objects PIDs created.
[0296] In operation S820, the simulation model generation apparatus 200 extracts, from the received XML file, information about the equipment components described in the XML file, and stores the extracted information in a data structure referred to herein, as an EQcoord list. The EQcoord list can be generated based on a data structure referred to herein as a PIDequip list in a way that will now be discussed in more detail below.
[0298] For example, according to at least some example embodiments, in step S820, the simulation model generation apparatus 200 searches through the XML file 400, and finds each "Equipment" item listed in the XML file 400. Furthermore , according to at least some example embodiments, in step S820, for each "Equipment" element found in the XML file 400, the simulation modeling apparatus 200 extracts attribute information about the "Equipment" element from the file. XML 400 creates a component object data structure that includes elements corresponding to the attributes of the "Equipment" element extracted from the XML file, and stores the created component object in the PIDequip list. According to at least some example embodiments, the structure of the component matrix shown in Table 1 discussed above with reference to steps S210 and S215 of Figure 2 is an example of the structure of the component objects that the apparatus of Simulation model generation 200 creates for each "Equipment" element found in XML file 400 in operation S820. For example, according to at least some example embodiments, each component object created by the simulation model generation apparatus 200 in step S820 can be created in the same manner as described above with respect to steps S210 and S215, and the component matrix shown in Table 1.
[0299] Furthermore, in step S820, the simulation model generation apparatus 200 can convert the attributes included in each of the component objects included in the PIDequip list into a series of strings, and store the series of strings in the EQcoord list together with the text that identifies the attributes included in each string.
[0301] One of the attributes included in each of the component objects is the ID attribute, which can be, for example, a 32 hexadecimal number identifier that uniquely identifies the component for which the component object was created. Some component objects also include identification attributes that identify sub-components of the component for which the component object was created (for example, the nozzle IDS of the nozzles included in a filter component shown in Figure 4). In step S820, for each component object included in the PIDequip list, the simulation model generation apparatus 200 can read the 32 hexadecimal number identifier of the component object (and the 32 hexadecimal number identifiers of any corresponding subcomponent ), and convert hexadecimal number 32 unique identifiers to n-digit unique identifiers, where "n" is a positive integer. For example, the simulation modeling apparatus 200 can read the 32 hexadecimal number identifier from each component object included in the PIDequip list, and convert the 32 hexadecimal number unique identifier into a 4-digit unique identifier (for For example, a unique identifier that is a 4-digit decimal (ie, base 10 number). According to at least some example embodiments, the simulation model generation apparatus 200 may start with the 4-digit value " 0001 "and increment the 4-digit value, for example, by 1, for each new unique identification value corresponding to each unique identifier of 32 hexadecimal numbers of each component object generated by the simulation model generation apparatus 200. According With at least some example embodiments, the simulation model generation apparatus 200 may generate the EQcoord list in step S820 by storing the unique values. 4-digit oss generated in operation S820 in the EQcoord list as unique IDs corresponding to each of the component objects and subcomponents of the PIDequip list, instead of the 32 hexadecimal number identifiers from which the values were converted unique 4 digits.
[0303] In step S825, the simulation model generation apparatus 200 extracts, from the received XML file, information about the components of the pipe network described in the XML file and stores the extracted information in a data structure referred to herein as a pipeline PID list.
[0305] For example, according to at least some example embodiments, in step S825, the simulation model generation apparatus 200 searches through the XML file 400, and finds each element "PipeNetwork Segment" listed in the XML file 400. Furthermore , according to at least some example embodiments, in step S825, for each "PipeNetwork Segment" element found in XML file 400, the simulation model generation apparatus 200 extracts attribute information about the "PipeNetwork Segment" element from the file XML 400, creates a component object data structure that includes elements corresponding to the attributes of the "PipeNetwork Segment" element extracted from the XML file and stores the created component object in the PipeNetwork PID list. According to at least some example embodiments, the structure of the component matrix shown in Table 1 discussed above with reference to steps S210 and S215 of Figure 2 is an example of the structure of the component objects that the apparatus of simulation model generation 200 creates for each element "PipeNetwork Segment" found in XML file 400 in operation S825. For example, in accordance with at least some example embodiments, each component object created by the simulation model generation apparatus 200 in step S825 can be created in the same manner as described above with respect to steps S210 and S215, and the component matrix shown in Table 1.
[0307] In step S830, the simulation modeling apparatus 200 can convert the attributes included in each of the component objects included in the PIDredpipes list into a series of strings, and store the series of strings in a referenced data structure , in this document, as a PID list with pipelines along with the text that identifies the attributes included in each string.
[0309] According to at least some example embodiments, in step S830, for each component object included in the PIDredpipes list, the simulation model generation apparatus 200 can read the 32 hexadecimal number identifier of the component object (and the identifiers 32 hexadecimal number of any corresponding subcomponent), and converting the 32 hexadecimal number 32 unique identifiers to n-digit unique identifiers, for example, in the same manner discussed above with respect to the S820 operation. According to at least some example embodiments, the simulation model generation apparatus 200 may generate the list Pipeline PID in operation S830 by storing the unique 4-digit values generated in operation S230 in the Pipeline PID list as unique IDs corresponding to each of the component objects and subcomponents of the Pipeline PID list, instead of the identifiers of hexadecimal numbers from 32 to from which the unique 4-digit values were converted.
[0311] In step S835, the simulation model generation apparatus 200 extracts, from the received XML file, information about the components of the process instrument described in the XML file and stores the extracted information in a data structure mentioned herein , as a ProcInst list.
[0313] For example, according to at least some example embodiments, in step S835, the simulation model generation apparatus 200 searches through the XML file 400, and finds each "ProcessInstrument" element listed in the XML file 400. Furthermore , in accordance with at least some example embodiments, in step S835, for each "ProcessInstrument" element found in XML file 400, simulation modeling apparatus 200 extracts attribute information about the "ProcessInstrument" element from file XML 400, creates a component object data structure that includes elements corresponding to the attributes of the "ProcessInstrument" element extracted from the XML file and stores the created component object in the ProcInst list. According to at least some example embodiments, the structure of the component matrix shown in Table 1 discussed above with reference to steps S210 and S215 of Figure 2 is an example of the structure of the component objects that the apparatus of simulation model generation 200 creates for each "ProcessInstrument" element found in XML file 400 in operation S835. For example, according to at least some example embodiments, each component object created by the simulation model generation apparatus 200 in step S835 can be created in the same manner as described above with respect to steps S210 and S215, and the component matrix shown in Table 1.
[0315] In step S840, the simulation modeling apparatus 200 can convert the attributes included in each of the component objects included in the ProcInst list into a series of strings, and store the series of strings in a referenced data structure. , in this document, as a ProcInstList along with the text that identifies the attributes included in each string.
[0316] According to at least some example embodiments, in step S840, for each component object included in the ProcInst list, the simulation model generation apparatus 200 may read the 32 hexadecimal number identifier of the component object (and the identifiers 32 hexadecimal number of any corresponding subcomponent), and converting the 32 hexadecimal number 32 unique identifiers to n-digit unique identifiers, for example, in the same manner discussed above with respect to the S820 operation. In accordance with at least some example embodiments, the simulation modeling apparatus 200 may generate the ProcInstList list in step S840 by storing the unique 4-digit values generated in step S230 in the ProcInstList list as unique IDs corresponding to each one of the component objects and subcomponents in the ProcInst list, instead of the 32 hexadecimal number identifiers from which the unique 4-digit values were converted.
[0318] After operation S840, the simulation model generation apparatus 200 can create a simulation model page and fill the simulation model page with simulation node objects, link objects and / or instrumentation objects based on each of the components defined in each of the component object lists (for example, the EQcoord list, the PIDpiperunconn list, and the ProcInstList list). For example, the simulation model generation apparatus 200 may loop through the EQcoord list and create a simulation node object for each component object included in the EQcoord list, using the syntax of the desired simulation modeling software environment. In addition, the simulation model generation apparatus 200 may step through the PID with pipeline list and create a simulation link object for each component object included in the PID with pipeline list, using the syntax of the desired simulation modeling software environment. In addition, the simulation model generation apparatus 200 may step through the ProcInstList and create a simulation instrument object for each component object included in the ProcInstList, using the syntax of the desired simulation modeling software environment. The simulation model generation apparatus 200 can fill the simulation model page with the created simulation node objects, link objects and / or instrumentation objects. The operations of creating the simulation model page and filling the simulation model page with simulation node objects and link objects will be discussed in more detail below with reference to operations S845 and S847.
[0319] For example, in step S845, the simulation model generation apparatus 200 can identify a number and position of nodes, and in step S847 the simulation model generation apparatus 200 can identify links. According to at least some example embodiments, the simulation model generation apparatus 200 performs operation S845 in the same manner discussed above with respect to operations S605-S625 of FIG. 6, and performs operation S847 thereof. manner discussed above with respect to operations S705-S725 of Figure 7. For example, the EQcoord list created in operation S820 may correspond to the end point and link node array lists discussed above with reference to the figures. 5 and 6. In addition, the PID lists with piping and ProcInstList created in operation S830 and S840 may correspond to the link matrix list discussed above with reference to Figures 5 and 7. Consequently, in operations S845 and S847, the apparatus simulation model generation 200 generates and populates a simulation model file according to the syntax of the simulation modeling software environment wanted.
[0321] After steps S845 and S847, at step S850, a simulation model page is generated. For example, in step S850, the simulation model file generated in steps S845 and S847 can be imported into (or, exported to) the desired simulation modeling software environment as a simulation model page. For example, according to at least some example embodiments, in step S850, the simulation model generation apparatus 200 may provide the simulation model page generated in steps S845 and S847 to an application corresponding to the software environment. desired simulation modeling. Furthermore, according to at least some example embodiments, in step S850, the simulation model generation apparatus 200 may send the simulation model page generated in steps S845 and S847 to a destination (eg, folder). chosen by a user from the simulation model generated by apparatus 200, with or without providing the simulation model page to an application corresponding to the desired simulation modeling software environment.
[0323] Although various example embodiments have been disclosed herein, it should be understood that other variations may be possible. Such variations should not be construed as a departure from the spirit and scope of the present disclosure, and all modifications that would be obvious to one skilled in the art are intended to be included within the scope of the following claims.
权利要求:
Claims (10)
[1]
1. A procedure to facilitate the modeling of a system, comprising the procedure:
receiving, in a processor, an extensible markup language (XML) file (400) corresponding to a piping and instrumentation diagram (PID) (300) of the system; identify, through the processor (258), components (305, 311, 315, 319, 321,323, 325) of the system that are described in the XML file (400), including the XML file (400) information about the attributes of the components identified (305, 311, 315, 319, 321, 323, 325);
storing, by means of the processor (258), the information about the attributes of the identified components (305, 311, 315, 319, 321, 323, 325); and
generate, through the processor (258), a simulation model page that uses syntax of a simulation modeling software environment, based on the information stored on the attributes of the identified components (305, 311, 315, 319, 321 , 323, 325).
[2]
2. The method of claim 1, wherein the system is a process plant system.
[3]
The method of claim 2, wherein the XML file (400) follows the PID XML ISO 15926 standard.
[4]
The method of claim 1, wherein the identification includes, for each component (305, 311, 315, 319, 321, 323, 325) identified,
identify, in the XML file (400), an XML element corresponding to the component (305, 311, 315, 319, 321, 323, 325).
[5]
The method of claim 4, further comprising:
generating, by processor 258, for each identified XML element, a component object data structure corresponding to the identified XML element.
[6]
6. The method of claim 5, further comprising:
For each identified XML element, extract from the XML file, using renderer (258), attribute information of the identified XML element.
[7]
7. The method of claim 6, wherein storing comprises:
for each data structure of the generated component object,
storing, as one or more elements of the data structure of the generated component object, the attribute information extracted from the identified XML element to which the data structure of the generated component object corresponds.
[8]
The method of claim 1, wherein the storage comprises: generating a list of strings that define the identified components,
the list of strings including information based on the information about the attributes of the identified components (305, 311, 315, 319, 321, 323, 325).
[9]
The method of claim 8, wherein generating the simulation model page comprises:
reading from the list of chains, by means of the processor (258), the attributes of each component (305, 311, 315, 319, 321, 323, 325) defined in the list of chains;
create a simulation object for each component (305, 311, 315, 319, 321, 323, 325) defined by the string list, based on the read attributes; and
Populate the simulation model page with the simulation objects created for the components (305, 311, 315, 319, 321, 323, 325) defined by the string list.
[10]
10. An apparatus for generating simulation models, comprising:
a memory (256) that stores computer executable instructions; and
one or more processors (258) configured to execute the computer-executable instructions such that one or more processors (258) are configured to perform operations including,
receive an extensible markup language (XML) file (400) corresponding to a piping and instrumentation diagram (PID) (300) of a system,
identify system components that are described in the XML file (400), including the XML file (400) information about the attributes of the identified components (305, 311, 315, 319, 321, 323, 325),
store the information about the attributes of the identified components (305, 311, 315, 319, 321, 323, 325), and
generate a simulation model page using the syntax of a simulation modeling software environment, based on the information stored about the attributes of the identified components (305, 311, 315, 319, 321, 323, 325).
类似技术:
公开号 | 公开日 | 专利标题
ES2794724A1|2020-11-18|Method and apparatus for facilitating creation of simulation model
Zhu et al.2019|Integration of BIM and GIS: Geometry from IFC to shapefile using open-source technology
Arctur et al.2004|Designing Geodatabases: case studies in GIS data modeling
CN107766309B|2021-06-25|Data table generation method and device, storage medium and electronic device
CN105095160A|2015-11-25|Document conversion reading method and system
Mimouni et al.2017|CFD calculations of flow pattern maps and LES of multiphase flows
CN106919509A|2017-07-04|A kind of client generation method, device and electronic equipment
CN101689308A|2010-03-31|In two-dimensional space, provide three-dimensional character
Lamiroy et al.2011|How carefully designed open resource sharing can help and expand document analysis research
Luo et al.2011|Spatial-social network visualization for exploratory data analysis
Hanany et al.2012|Invariants of toric Seiberg duality
KR101846213B1|2018-04-06|Computer aided design method for pipe system using multi pipe virtual plane
Jahanbin et al.2020|Effects of the circuit arrangement on the thermal performance of double U-tube ground heat exchangers
Lohfink et al.2020|Fuzzy contour trees: Alignment and joint layout of multiple contour trees
CN104850591B|2019-03-19|A kind of the conversion storage method and device of data
Barall2012|Data transfer file formats for earthquake simulators
CN106650140B|2019-10-25|A kind of circuit Automatic-expanding method based on full panel
KR101992694B1|2019-06-25|Computer aided design method for pipe system using multi pipe virtual section
Atolagbe2019|Automatic mesh representation of urban environments
Münster et al.2020|Introducing an Automated Pipeline for a Browser-based, City-scale Mobile 4D VR Application Based on Historical Images.
CN108510589B|2022-03-22|Method and device for converting two-dimensional pipeline into three-dimensional model
Wang et al.2019|How are various surrogate indicators consistent with mechanical reliability of water distribution systems: from a perspective of many-objective optimization
CN108984208A|2018-12-11|A kind of function document generating method, apparatus and system
Aliabadi et al.2006|Integrated high performance computational tools for simulations of transport and diffusion of contaminants in urban areas
Patacho2010|Comparação de programas de Certificação em Ecoturismo
同族专利:
公开号 | 公开日
US20180330028A1|2018-11-15|
GB201916397D0|2019-12-25|
US10755002B2|2020-08-25|
WO2018209071A1|2018-11-15|
GB2576654A|2020-02-26|
CA3062841A1|2018-11-15|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
US20070179644A1|2006-01-31|2007-08-02|National Instruments Corporation|Automatically generating code from drawing specifications for use in motion control|
US20150178422A1|2008-02-15|2015-06-25|Invensys Systems, Inc.|System and method for autogenerating simulations for process control system checkout and operator training|
WO2011049890A1|2009-10-19|2011-04-28|Siemens Corporation|Fault detection in hvac- systems using building information models and heat flow models|
TW201211796A|2010-09-14|2012-03-16|Chunghwa Telecom Co Ltd|Information communication configuration architecture design editor|
US20130123944A1|2011-11-11|2013-05-16|Rockwell Automation Technologies, Inc.|Data Resource Identity|
US7206646B2|1999-02-22|2007-04-17|Fisher-Rosemount Systems, Inc.|Method and apparatus for performing a function in a plant using process performance monitoring with process equipment monitoring and control|
US8044793B2|2001-03-01|2011-10-25|Fisher-Rosemount Systems, Inc.|Integrated device alerts in a process control system|
US7065476B2|2002-04-22|2006-06-20|Autodesk, Inc.|Adaptable multi-representation building systems part|
US20040024662A1|2002-08-02|2004-02-05|David Gray|Equipment documentation management system, method, and software tools|
JP2007536634A|2004-05-04|2007-12-13|フィッシャー−ローズマウント・システムズ・インコーポレーテッド|Service-oriented architecture for process control systems|
WO2009108328A1|2008-02-25|2009-09-03|Invensys Systems, Inc.|System and method for generating control system database and graphics from schema-based intermediate descriptions|
US9047565B2|2010-09-17|2015-06-02|Fluor Technologies Corporation|Intelligent plant development library environment|
US9031674B2|2010-10-13|2015-05-12|Schlumberger Technology Corporation|Lift-gas optimization with choke control|
US9002809B2|2012-11-30|2015-04-07|Siemens Aktiengesellschaft|Method and apparatus for generating a data repository|
US10866952B2|2013-03-04|2020-12-15|Fisher-Rosemount Systems, Inc.|Source-independent queries in distributed industrial system|
US9482683B2|2014-04-22|2016-11-01|Wipro Limited|System and method for sequential testing across multiple devices|
US9746850B2|2014-05-09|2017-08-29|Sartorius Stedim Biotech Gmbh|Computer-implemented systems and methods for generating generalized fractional designs|
EP3029535A3|2014-12-03|2016-07-13|Rockwell Automation Technologies, Inc.|P&ID and control system synchronization|
US10386825B2|2015-10-12|2019-08-20|Fisher-Rosemount Systems, Inc.|I/O-abstracted field device configurations|US10977397B2|2017-03-10|2021-04-13|Altair Engineering, Inc.|Optimization of prototype and machine design within a 3D fluid modeling environment|
US10803211B2|2017-03-10|2020-10-13|General Electric Company|Multiple fluid model tool for interdisciplinary fluid modeling|
US11004568B2|2017-03-10|2021-05-11|Altair Engineering, Inc.|Systems and methods for multi-dimensional fluid modeling of an organism or organ|
US10409950B2|2017-03-10|2019-09-10|General Electric Company|Systems and methods for utilizing a 3D CAD point-cloud to automatically create a fluid model|
US10867085B2|2017-03-10|2020-12-15|General Electric Company|Systems and methods for overlaying and integrating computer aided designdrawings with fluid models|
US10534983B1|2018-09-07|2020-01-14|Accenture Global Solutions Limited|Piping and instrumentation planning and maintenance system|
EP3862832A1|2020-02-07|2021-08-11|Basf Se|Generating a representation of a process network comprising at least two interconnected chenical plants|
法律状态:
2020-06-05| NE2A| Request for restoration|Effective date: 20200601 |
2020-11-18| BA2A| Patent application published|Ref document number: 2794724 Country of ref document: ES Kind code of ref document: A1 Effective date: 20201118 |
优先权:
申请号 | 申请日 | 专利标题
US15/593,432|US10755002B2|2017-05-12|2017-05-12|Method and apparatus for facilitating creation of simulation model|
PCT/US2018/032047|WO2018209071A1|2017-05-12|2018-05-10|Method and apparatus for facilitating creation of simulation model|
[返回顶部]